package com.paphus.sdk.activity; import java.util.List; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.paphus.brainbot.R; import com.paphus.sdk.SDKConnection; import com.paphus.sdk.activity.actions.HttpGetImageAction; import com.paphus.sdk.config.ChatConfig; import com.paphus.sdk.config.ChatResponse; import com.paphus.sdk.util.Utils; public class ChatListAdapter extends ArrayAdapter<Object> { Activity activity; public ChatListAdapter(Activity activity, int resourceId, List<Object> items) { super(activity, resourceId, items); this.activity = activity; } class ChatListViewHolder { ImageView userView; TextView messageView; } public View getView(int position, View convertView, ViewGroup parent) { ChatListViewHolder holder = null; Object message = getItem(position); LayoutInflater mInflater = (LayoutInflater)this.activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); if (convertView == null) { convertView = mInflater.inflate(R.layout.chat_list, null); holder = new ChatListViewHolder(); holder.userView = (ImageView)convertView.findViewById(R.id.userView); holder.messageView = (TextView) convertView.findViewById(R.id.messageView); convertView.setTag(holder); } else { holder = (ChatListViewHolder) convertView.getTag(); } if (message instanceof ChatConfig) { ChatConfig config = (ChatConfig)message; holder.messageView.setText(config.message); if (MainActivity.user != null && MainActivity.user.avatar != null) { HttpGetImageAction.fetchImage(this.activity, MainActivity.user.avatar, holder.userView); } else { HttpGetImageAction.fetchImage(this.activity, SDKConnection.defaultUserImage(), holder.userView); } } else if (message instanceof ChatResponse) { ChatResponse config = (ChatResponse)message; holder.messageView.setText(Utils.stripTags(config.message)); HttpGetImageAction.fetchImage(this.activity, MainActivity.instance.avatar, holder.userView); } return convertView; } }